xiefandomcom-20200213-history
Creating Custom Content
This page contains an index and reference for content creation. Check out ProjectRay12's Tutorial here: Xie Coding for Dummies Essential learning Before diving headfirst into creating content for Xie's Mod, there will be a little elementary knowledge you'll need to pick up. Expect to be a little frustrated here or there, but if you persevere you will be well on your way to making custom content with the best of them! * JSON syntax * Textures * IDs * Block/item identifier * TUTORIAL: Making a bacon tree (original post) Blocks * Blocks ** Declarations: *** name - The default name of the block *** names - The names of each metadata value of the block *** type - One of several choices for the type of the block to implement *** override - The identifier that this block should delete and replace *** id - The Minecraft ID of the block (if omitted, must be specified in a ".xid" file instead) *** tex - The side textures, used when the block is in the game world **** sides - One of several declarations to specify to which sides a texture applies to the block *** texFile - The filename of the spritesheet to reference the texture(s) from *** material - What the block is made out of, for purposes of tools *** stepSound - What sound the block makes when stepped on or landed on *** blockBounds - The dimensions of the 3D block when rendered in the game *** hardness - How hard is the block to harvest with tools *** renderType - How should the block be rendered (as a pane, cube, X, etc.) *** lightValue - How much light the block gives off *** lightOpacity - How much light can/cannot pass through this block *** opaque - Whether light can/cannot pass through this block at all *** smelted/cooked - The product when this block is smelted *** fuel - The duration, in 1/20 sec, that this block will provide fuel when burned *** walkthroughable - Whether this block is/isn't intangible (can be walked through) *** becomesWhenDestroyed - A block to replace this block with when destroyed *** tool - The types of tools that are "effective" against this block *** spikey - Whether this block causes damage on contact *** canBePlacedOn - Where this block can be placed on/against *** spawn - How this block should spawn (deprecated - use a full spawn declaration instead) *** drops - What identifiers this block should drop when destroyed ** Basic *** dropSelf - Whether the block's own identifier should be dropped (shorthand for specifying directly in "drops") *** inheritMeta - Whether each specific subtype of this block should be treated as a separate block ** Plant *** growthRate - The percentage chance this block will grow on a given block update (average every ~35~75 sec) *** growsOn - The list of blocks this plant will grow on top of *** growsAgainst - The list of blocks this plant will grow on the side of (untested) *** growthHeight - How tall should the plant grow, in Minecraft blocks *** growsInto - What type the block should change into when it reaches its maximum growth *** growsNearWater - The maximum distance this block can be from water to continue growing *** lightLevel - The minimum light level for the block to continue growing *** reproductive - Whether the block should spawn another of itself nearby when at maximum growth *** fertilisable/fertilizable - Whether Xie's Mod fertiliser can be used to grow this plant ** Crop ** Bush ** Sapling ** Tree (leaves) *** shape - One of several choices to specify the shape of the tree *** trunk - Which block is used as the tree's trunk *** trunkMeta - Which block is used for each corresponding subtype of the tree *** sheds - A list of items or blocks to spawn as drops nearby, on a periodic basis *** shedSaturation - The maximum number of drops that can be nearby before no more drops are made *** colorise/colorize - Whether the leaves should be tinted based on biome shading ** Log ** Stem *** grows - The type of block to spawn nearby ** Furnace *** idle - The block ID to place when this furnace runs out of fuel (BUG: will always show burning particles even when out of fuel) *** initialBurnTime - Whether the furnace starts with fuel, and how much it starts with *** naked - Whether the furnace will set fire on contact *** volatility - A chance of the furnace setting fire to nearby blocks *** burnLevels - A set of metadata values corresponding to amount of fuel remaining (BUG: does not reverse when refueled) *** cookTime - The amount of time, in 1/20 sec, to smelt/cook a single object *** fuels - What types of items or blocks can be used as fuel for this furnace, and their durations ** Mounted *** facing - What faces the block can be mounted on *** isMovable - Whether the block can be moved with a special item or with bare hands *** moveWithItem - The item used to move the block -- uses bare hands if not specified ** Fence ** Glass ** Pane ** Grass *** dirt - The type of block that this grass will replace *** canDie - Whether the grass will revert to dirt in darkness or when smothered *** lightLevel - The minimum light level to grow and spread *** colorise - (No "-ize" equivalent) Whether the grass should be tinted based on biome shading ** Chest *** largeName - Name tag shown at top of interface when the chest is large *** animate - Whether the chest should be animated *** jammable - Whether the chest is blocked by an opaque/solid block placed on top *** merge - Whether the chest can auto-join with nearby chest blocks to make a large chest *** mergeHorizontally - Whether the chest can merge horizontally *** mergeVertically - Whether the chest can merge vertically *** openSound - The sound played when chest is opened *** closeSound - The sound played when chest is closed *** mesh - The filename of the texture to apply to the animated chest model Items * Items ** Declarations: *** name - The name of the item (not "itemName" as specified in official documentation) *** id - The Minecraft ID of the item (if omitted, must be specified in a ".xid" file instead) *** type - One of several choices for the type of the item to implement *** override - The identifier that this item should delete and replace *** icon - The texture and sprite of the icon, for voxel model in hand as well as icon in inventory *** texFile - The filename of the spritesheet to reference the icon from *** smelted/cooked - The product when this object is smelted in a standard furnace *** drops - List of blocks and/or objects added to player's inventory when this item is used in the hotbar *** stackSize - The maximum number of these items that can be stacked together *** container - The item added to the player's inventory when the object is used in a crafting recipe or is smelted *** fuel - The smelting time, in 1/20 sec, that this object will contribute to a furnace when used in the fuel slot ** Basic ** Food (also for beverages) *** hunger - Amount of (visible) food points added to player (a full meter is 20 food points) *** thirst - Amount of hydration points added to player (CURRENTLY UNUSED) *** nourishment - Amount of (invisible) food points added to player as a surplus to hunger (see Hunger (Mechanics) on Minecraft Wiki) *** dogFood - Whether this item can be fed to wolves *** action - Which animation and sound effects should play when the food/beverage item is right-clicked *** potionEffect - A list of magic effects to apply to the player when the food/beverage item consumed ** Seeds (also generic block placer) *** growsInto - What type of block to place when right-clicked *** inheritMeta - Whether the metadata of the block should be the same as the seeds when placed ** Fertiliser/Fertilizer *** worksOn - The list of plants that will be instantly grown to maximum when fertilised ** Stick *** blocks - Specifies the list of drops created when the stick is used to beat a specified block type *** destroyChance - The chance per hit that the beaten block is destroyed *** uses - The number of times the stick can be used to beat a block ** Tool *** blocksEffective - The block types that this tool can be used against to destroy quickly *** materialsEffective -- The block materials that this tool can be used against to destroy quickly *** canHarvest - A whitelist of blocks that can be harvested *** cannotHarvest - A blacklist of blocks that cannot be harvested *** transforms - A list of blocks that the tool will transform into another block on a right-click *** efficiency - The speed multiplier when used against an effective block instead of an ineffective block *** magicWand - Whether the metadata of any block right-clicked with this tool should be increased by 1 (DEBUGGING) *** damage - The amount of damage, in half-hearts, applied on a successful hit with this tool ** Bucket *** canHoldWater - Whether the bucket can carry water *** canHoldLava - Whether the bucket can carry lava *** canHoldMilk - Whether the bucket can carry milk *** names/bucketNames - The name of the bucket can be specified according to carried liquid *** icon - The icon of the bucket can also be specified according to carried liquid ** Sword (or other melee weapon) *** damage - The amount of damage, in half-hearts, applied on a successful hit with this melee weapon *** uses - The maximum number of successful hits possible with this weapon before it breaks *** enchantability - The maximum level of enchantment possible (weapon cannot be enchanted without this) *** flame - The chance of setting the target on fire ** Bow *** ammo - Type of ammo used *** ammoConsumed - Whether the arrows fired are not retrievable *** semiAutomatic - Whether the bow fires instantly on a right-click *** power - The power of the launched shot for a semi-automatic bow Aliases * Aliases Recipes * Recipes ** Quick recipe ** Cull recipe *** cull - The identifier for which all existing recipes should be deleted ** Smelting recipe: *** content - The identifier of the item to be smelted *** smelt - The identifier produced by smelting in any vanilla furnace (NOTE: quantity is ignored) ** Shapeless recipe: *** product - The identifier produced when the necessary ingredients are combined on a crafting grid *** content - The list of identifiers required on the crafting grid ** Shaped recipe: *** pattern - The specific shape, with each new symbol corresponding to the order of identifiers in the "content" Spawns * Spawns ** Declarations: *** block - The block identifier to spawn (optional) *** type - Where the identifier should be spawned (which world generator to tie into) *** rarity - The average number of chunks that must be generated before a spawn is attempted ("15" means 1 in every 15 chunks) *** spawnsOn - A block identifier that must be directly BELOW the randomly selected tile *** spawnsIn - A block identifier that IS the randomly selected tile to replace *** spawnsNear - A block identifier that must be present before spawning is allowed *** nearDistance - The maximum distance away that the "spawnsNear" block can be *** spawnsUnder - The block identifier that must be directly ABOVE the randomly selected tile *** biomes - The substring to match in the biome name when checking for spawning *** cluster - The chances of spawning each different metadata value in the same lode *** clusterSize - The maximum number of elements in the same lode (in ideal conditions) *** clump - Whether the elements of the lode must be touching each other